package com.hfxt.mapper;

import com.github.pagehelper.PageInfo;
import com.hfxt.entity.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface UserMapper {
    //登录
    User userLogin(@Param("userName") String userName);

    //条件分页查询用户列表
    List<User> queryAllUsersByCondition(@Param("userName") String userName, @Param("userRole") Integer userRole, @Param("index") Integer index, @Param("pageSize") Integer pageSize);

    //条件分页查询 PageHelper
    List<User> queryAllUsersByPageHelper(@Param("userName") String userName, @Param("userRole") Integer userRole);

    //条件分页查询 PageInfo
    List<User> queryAllUsersByPageInfo(@Param("userName") String userName, @Param("userRole") Integer userRole);

    //条件分页 查询总记录数
    int queryCountByCondition(@Param("userName") String userName, @Param("userRole") Integer userRole);

    //查询用户详细信息
    User queryUserById(@Param("id") Long id);

    //删除用户
    int deleteUserById(@Param("id") Long id);

    //批量删除用户    List<Integer>形式
    int deleteUsersByList(List<Integer> list);

    //修改用户
    int updateUser(User user);

    //新增用户
    int addUser(User user);

    //查询所有用户
    List<User> queryAllUsers();

}
